package com.rd.student.ruanjian.class3.gaochenxi.day0801;

import java.util.ArrayList;
import java.util.Arrays;

public class QuChong {

   public static void main(String[] args) {
      Func3();
   }
   //利用数组原始的方法去重方式1
   public static void Func1() {
      int[] indexArr = new int[20];
      int count = 0;
      for (int i = 0; i < indexArr.length; i++) {//循环20次，弄出20个数才能退出循环
         int index = (int) (Math.random() * 50);//给出一个0-50的随机数[0,50)
         //判断是否随机过...
         boolean flag = false;
         for (int j = 0; j < count; j++) {
            if (index == indexArr[j]) {//如果出现过这个数
               flag = true;//把它定为true
               //如果这个数重的话就不会count++
               break;
            }
         }
         //如果没有出现过,就把它放进indexArr[]中
         if (!flag) {//false反过来的反过来==false
            indexArr[count] = index;//在indexArr下标为count的位置放入index这个随机数
            count++;
         }
         if (flag) {//false反过来==true
            //如果出现过的话，撤销上一回的操作,也就是
            i--;
            continue;
         }
         System.out.println(Arrays.toString(indexArr));
      }
   }


   //数组去重方式2
   public static void Func2() {
      int[] indexArr = new int[20];
      int count = 0;
      for (int i = 0; i < indexArr.length; i++) {
         indexArr[i] = -1;
      }
      for (int i = 0; i < indexArr.length; i++) {
         int randoms = (int) (Math.random() * 50);
         for (int j = 0; j < count; j++) {

         }
      }
      System.out.println(Arrays.toString(indexArr));
   }

   //用List去重
   public static void Func3(){
      int[] arr = new int[20];
      ArrayList<Integer> arrayList=new ArrayList<>(arr.length);
      //用contains方法去重
      for(int i=0;i< arr.length;i++){
         int randoms = (int) (Math.random() * 50);
         arr[i] = randoms;
         if(arrayList.contains(arr[i])){
            i--;
            continue;
         }
         arrayList.add(randoms);
      }int randoms = (int) (Math.random() * 50);
      for(Object obj:arr){
         System.out.print(obj+" ");
      }
   }
}
